package cn.iocoder.yudao.module.resource.api;

import cn.iocoder.yudao.module.resource.api.model.AudioDTO;

import java.util.Collection;
import java.util.List;

/**
 * 音频api类
 *
 * @author: wds_prc
 * @since: 2024/7/28 15:02
 */
public interface IAudioServiceApi {
    /**
     * 根据音频id列表查询音频内容
     *
     * @param ids
     * @return
     */
    List<AudioDTO> queryAudioByIds(Collection<Integer> ids);


    /**
     * 根据标签查询音频，只要匹配到标签就算
     *
     * @param roleId  角色Id
     * @param tagList
     * @return
     */
    List<AudioDTO> queryAudioByTag(Integer roleId, List<String> tagList);

    /**
     * 根据标签查询音频，必须被所有的标签标记
     *
     * @param tagList
     * @return
     */
    List<AudioDTO> queryAudioByAllTag(Integer roleId, List<String> tagList);

    /**
     * 根据关键字查询音频，只要匹配到关键字就算
     *
     * @param keyWordList
     * @return
     */
    List<AudioDTO> queryAudioByKeyword(Integer roleId, List<String> keyWordList);

    /**
     * 根据关键字查询音频，必须包括所有关键字
     *
     * @param keywordList
     * @return
     */
    List<AudioDTO> queryAudioByAllKeyword(Integer roleId, List<String> keywordList);
}
